home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Leser 15 / Amiga Plus Leser CD 15.iso / Tools / Development / MosaicSRC / libwww2 / dnet.h next >
Encoding:
C/C++ Source or Header  |  2002-03-13  |  2.9 KB  |  110 lines

  1.  
  2. /* DLib.h */
  3.  
  4. #ifndef DLIB_H
  5. #define DLIB_H
  6.  
  7. #include <exec/types.h>
  8. #include <exec/lists.h>
  9. #include <exec/ports.h>
  10.  
  11. #ifdef DEBUG
  12. #include <stdio.h>
  13. /* #include "/include/syslog.h" */
  14. #endif
  15.  
  16. #define NT_REQUEUE  0x40
  17.  
  18. struct DLinkChan {
  19.     struct MsgPort    port;        /* recieve data, replies */
  20.     struct MsgPort *DLinkPort;    /* dlink's master port */
  21.     struct List    rdylist;    /* ready to be read */
  22.     UWORD        chan;        /* chan # for open channels */
  23.     UBYTE        eof;        /* channel remotely closed? */
  24.     UBYTE        filler;        /* ????? */
  25.     int        qlen;        /* allowed write queue size */
  26.     int        queued;        /* current # packets queued */
  27. };
  28.  
  29.  
  30. #define DNCMD_OPEN      32  /*  Application open                */
  31. #define DNCMD_SOPEN     33  /*  Server open                     */
  32. #define DNCMD_CLOSE     34  /*  Close a channel                 */
  33. #define DNCMD_EOF       35  /*  Will no longer write to channel */
  34.  
  35. #define DNCMD_WRITE     36  /*  Write data to a channel         */
  36. #define DNCMD_QUIT      37  /*  Kill the DNET server            */
  37. #define DNCMD_IOCTL     38
  38. #define DNCMD_EXEC      39  /*  server asks driver to Execute() something */
  39. #define DNCMD_INFO      64  /*  Ascii status message            */
  40.  
  41. /* cfg.c */
  42. int OpenCfgFile ( void );
  43. char *GetCfgLine ( char *what );
  44. void CloseCfgFile ( void );
  45. void GetOneCfg ( char *what );
  46. int ExtractFieldVal ( char *str , char *field , short *pidx );
  47.  
  48. /* SafePutToPort.c */
  49. BOOL SafePutToPort ( struct Message *message , STRPTR portname );
  50.  
  51. /* ioctl.c */
  52. UBYTE DGetIoctl ( struct DLinkChan *chan , UWORD *pval , UBYTE *paux );
  53. BOOL DIoctl ( struct DLinkChan *chan , UBYTE cmd , UWORD val , UBYTE aux );
  54.  
  55. /* write.c */
  56. BOOL DQueueFull ( struct DLinkChan *chan );
  57. LONG DWrite ( struct DLinkChan *chan , UBYTE *buf , LONG bytes );
  58. void DQueue ( struct DLinkChan *chan , LONG len );
  59.  
  60. /* DOpen.c */
  61. struct DLinkChan *DOpen ( UWORD portnum , int txpri , int rxpri );
  62.  
  63. /* DQuit.c */
  64. BOOL DBreak ( void );
  65. BOOL DQuit ( void );
  66.  
  67. /* Channel.c */
  68. struct DLinkChan *MakeChannel ( void );
  69. void DeleteChannel ( struct DLinkChan *chan );
  70.  
  71. /* DStat.c */
  72. BOOL DStat ( UBYTE *buffer , ULONG size );
  73.  
  74. /* FixSignal.c */
  75. void FixSignal ( struct DLinkChan *chan );
  76.  
  77. /* read.c */
  78. LONG DNRead ( struct DLinkChan *chan , UBYTE *buf , LONG bytes );
  79. LONG DRead ( struct DLinkChan *chan , UBYTE *buf , LONG bytes );
  80.  
  81. /* WaitMsg.c */
  82. void WaitMsg ( struct IORequest *ior );
  83.  
  84. /* WaitQueue.c */
  85. short WaitQueue ( struct DLinkChan *chan , struct IOStdReq *skipior );
  86.  
  87. /* accept.c */
  88. struct DLinkChan *DAccept ( struct MsgPort *listenPort );
  89. BOOL DNAccept ( struct MsgPort *listenPort );
  90.  
  91. /* DClose.c */
  92. BOOL DClose ( struct DLinkChan *chan );
  93.  
  94. /* DExec.c */
  95. BOOL DExec ( UBYTE *command );
  96.  
  97. /* eof.c */
  98. BOOL DEof ( struct DLinkChan *chan );
  99. int DCheckEof ( struct DLinkChan *chan );
  100.  
  101. /* listen.c */
  102. struct MsgPort *DListen ( UWORD portNumber );
  103. void DUnListen ( struct MsgPort *port );
  104.  
  105. /* nodes.c */
  106. struct Node * GetHead( struct List *list );
  107. struct Node * GetSucc( struct Node *node );
  108. #endif
  109.  
  110.